package com.hbx.service;

import com.hbx.dto.role.InsertOrUpdateRoleDto;
import com.hbx.dto.role.SaveMenuDto;
import com.hbx.model.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hbx.utils.Result;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hbx
 * @since 2021-11-26
 */
public interface RoleService extends IService<Role> {

    /**
     * 获取所有角色
     * @param pageNum
     * @param pageSize
     * @return
     */
    Result getRoleList(Integer pageNum, Integer pageSize);

    /**
     * 添加或修改角色
     * @param dto
     * @param r
     */
    void insertOrUpdateRole(InsertOrUpdateRoleDto dto, Result r);

    /**
     * 删除角色
     * @param roleId
     * @param r
     */
    void deleteRole(Integer roleId, Result r);

    /**
     * 根据角色id查菜单id
     * @param r
     */
    void getMenuIdByRoleId(Integer roleId, Result r);

    /**
     * 给角色授权
     * @param dto
     * @param r
     */
    void savaMenuToRole(SaveMenuDto dto, Result r);

    /**
     * 获取所有可用角色
     * @param r
     */
    void getRoleAvaiList(Result r);
}
